const Koa=require('koa');
const {gJs,Wechat}=require('./vchat');
let config=require('./config')
const path=require('path')
const sendContent=require('./send_msg')
let wechat=new Wechat(config.wechat)
const render=require('koa-art-template')
const app=new Koa();
render(app,{
    root:path.join(__dirname,'views'),
    extname:'.html',
    //debug:false则每次压缩页面及js(含混淆、静态数据不会实时更新（不每次都读文件
    debug:process.env.NODE_ENV!=='production'
})

app.listen(8080);  //注意域名80端口映射这8080就行，或者直接在这服务端设置80
app.use(async (ctx,next) => {
    if(ctx.href.indexOf('dy')>-1){
        let timestamp=parseInt(new Date().getTime()/1000,10)+'' //最后输出要是字符串
        let noncestr=Math.random().toString(36).substr(2,15)
        let signature =await wechat.getTicket(noncestr,timestamp,ctx.href)
        let wxConfig={ //在公众号后台jssdk配置授权域名，一定是wx.com主域名！！不带http和www
            appId: config.wechat.appID, // 必填，公众号的唯一标识
            timestamp:timestamp , // 必填，生成签名的时间戳，一定要转字符串
            nonceStr: noncestr, // 必填，生成签名的随机串36进制，即含英文
            signature: signature// 必填，文档附录1有教
            //js接口列表可在前台设置
        };
        await ctx.render("index",{wxConfig})
    }
    await next()
})
app.use(async (ctx,next) => {
    let bool=await gJs(ctx,config.wechat)
    if(bool){
        await console.log('ok')
        await sendContent(ctx,config.wechat)
    }
    await next()
})
console.log('8080');